<?php
	defined('RUN') or die('No access');

	class advController
	{
		public function __construct()
		{
			if (!Auth::check('acp'))
			{
				Url::redirect('admin/auth/login');
			}
		}
		
		public function index($page = 1)
		{
			$data = Model::get('admin')->getLayoutData();
			$fields='`adv`.`id`,`adv`.`name`,`adv`.`images`';
			$data['advs'] = Model::get('adv')->getAdvadm($fields);
			if (Session::getFlash('notification'))
			{
				$data['notification']=Session::getFlash('notification');
			}
			$data['content_file'] = 'adv/view.tpl';
			View::load('layout.tpl', $data, 'admin');
		}

		public function add()
		{
			$data = Model::get('admin')->getLayoutData();

			if (Input::post('action') == 'add' && Security::checkToken('token_form', Input::post('token')))
			{
				if (Validator::checkRequired(Input::post(), array('txtName')))
				{
					Upload::setDestDir('uploads' . DS . 'adv');
					Upload::setFileField('images');
					$images = Upload::uploadFile();
					$data = array(
						'name' 			=> strip_tags(Input::post('txtName')),
						'link' 			=> strip_tags(Input::post('txtLink')),
						'sort' 			=> (int)Input::post('txtSort'),
						'category'    	=> Input::post('category'),		
						'images' 		=> ($images == FALSE ? '' : $images),				
					);
					
					if (Model::get('adv')->add($data))
					{
						Session::setFlash('notification', array('type' => 'green', 'msg' => 'Thêm thành công !'));
						Url::redirect('admin/adv');
					}else{
						Session::setFlash('notification', array('type' => 'red', 'msg' => 'Thêm không thành công !'));
						Url::redirect('admin/adv');
					}
				}
				$data['failed'] = TRUE;
			}
            $data['categories'] = Model::get('adv')->getCategories();        
			$data['action'] = 'add';
			$data['content_file'] = 'adv/form.tpl';
			View::load('layout.tpl', $data, 'admin');
		}
        
        public function update($id)
		{
			$data = Model::get('admin')->getLayoutData();
            $data['advs'] = Model::get('adv')->getById($id);

			if (Input::post('action') == 'update' && Security::checkToken('token_form', Input::post('token')))
			{
				if (Validator::checkRequired(Input::post(), array('txtName')))
				{
					Upload::setDestDir('uploads' . DS . 'adv');
					Upload::setFileField('images');
					$images = Upload::uploadFile();
					if($images=='')
						$images=$data['advs']['images'];
					else{
						unlink('.'.$data['advs']['images']);	
					}
					$data = array(
						'name' 			=> strip_tags(Input::post('txtName')),
						'link' 			=> strip_tags(Input::post('txtLink')),
						'sort' 			=> (int)Input::post('txtSort'),
						'category'    	=> Input::post('category'),		
						'images' 		=> $images,				
					);
					if (Model::get('adv')->update($data, $id))
					{
						Session::setFlash('notification', array('type' => 'green', 'msg' => 'Chỉnh sửa thành công !'));
						Url::redirect('admin/adv');
					}else{
						Session::setFlash('notification', array('type' => 'red', 'msg' => 'Chỉnh sửa không thành công !'));
						Url::redirect('admin/adv');
					}
				}

				$data['failed'] = TRUE;
			}
            $data['categories'] = Model::get('adv')->getCategories();
			$data['action'] = 'update';
			$data['content_file'] = 'adv/form.tpl';
			View::load('layout.tpl', $data, 'admin');
		}                

		public function delete($id, $confirm = 'no')
		{
			$data = Model::get('admin')->getLayoutData();
			$data['advs'] = Model::get('adv')->getById($id);
			if ($confirm == 'yes')
			{     
                if (Model::get('adv')->delete($id) && unlink('.'.$data['advs']['images']))
				{
					Session::setFlash('notification', array('type' => 'green', 'msg' => 'Xoá thành công !'));
					Url::redirect('admin/adv');
				}
			}

			
			$data['content_file'] = 'adv/delete.tpl';
			View::load('layout.tpl', $data, 'admin');
		}
	}

